#ifndef __EMPLOYEE_H__
#define __EMPLOYEE_H__

#include <string>

namespace Records {

const int kDefaultStartingSalary = 3000;

class Employee {
public:
	Employee();
	void promote(int inRaiseAmount = 1000);
	void demote(int inDemeritAmount = 1000);
	void hire();
	void fire();
	void display() const;
	// Accessors and setters
	void setFirstName(std::string inFirstName);
	std::string getFirstName() const;
	void setLastName(std::string inLastName);
	std::string getLastName() const;
	void setEmployeeNumber(int inEmployeeNumber);
	int getEmployeeNumber() const;
	void setSalary(int inNewSalary);
	int getSalary() const;
	bool getIsHired() const;

protected:
	std::string mFirstName;
	std::string mLastName;
	int 		mEmployeeNumber;
	int 		mSalary;
	bool		bHired;
};

}

#endif // __EMPLOYEE_H__